Открытая платформа для создания заботливой квартиры

Для дистанционного контроля за показаниями и управления инфраструктурой, настройте использование Home Assistant через Интернет.

DNS, DDNS

Если у вашего домашнего интернета есть выделенный (постоянный) IP-адрес, то сразу можете перейти к шагу 3. Если у вас динамический IP-адрес, то иногда он будет меняться и вы не сможете узнать его, находясь вне дома. В этом случае, удобнее использовать домен (или доменное имя), который будет автоматически привязываться к актуальному IP-адресу.

Участникам сообщества мы предоставляем домены третьего уровня вида <имя>.cutecare.info бесплатно, для этого отправьте запрос по адресу admin@cutecare.info и укажите предпочтительное имя для домена. После получения подтверждающего сообщения и ключа, вы можете перейти сразу к шагу 2.

1. Доменное имя

Вам потребуется доменное имя. Его можно недорого купить у регистраторов r01.ru или reg.ru. У вашего домена необходимо заменить DNS-сервера на следующие: ns2.he.net, ns3.he.net, ns4.he.net, ns5.he.net

Далее необходимо зарегистрироваться на сайте https://dns.he.net и в разделе "Free DNS" добавить ваш домен. Теперь DNS-записями вашего домена управляет dns.he.net.

Чтобы ваш домен сопоставлялся с актуальным IP-адресом, необходимо воспользоваться бесплатной возможностью обновления IP-адреса на сервисе dns.he.net (это еще называется динамический DNS или DDNS).

Откройте на редактирование добавленный ранее домен и выберите вкладку "New A" (создание новой A-записи). В поле "Name" введите * (звездочку), в поле "IPv4 Address" укажите любой IP-адрес, установите галочку "Enable entry for dynamic dns". Теперь в списке DNS-записей в строке с созданной А-записью появится символ со стрелочками (Generate DDNS key), кликните по иконке и сформируйте ключ (пароль).

2. Поддержка динамического IP

Сопоставление доменного имени и IP-адреса выполняется всего одной командой:

curl -4 "http://<домен>:<ключ>@dyn.dns.he.net/nic/update?hostname=<домен>"

Эту команду можно запускать периодически при помощи cron, добавив в его конфигурационный файл следующую строчку, предварительно заменив sweethome.cutecare.info на имя вашего домена:

echo "*/5 * * * * root curl -4 \"http://sweethome.cutecare.info:*******@dyn.dns.he.net/nic/update?hostname=sweethome.cutecare.info\"" >> /etc/crontab
service cron restart

3. Настройка Wifi-роутера

В целях безопасности, по умолчанию доступ извне к вашим домашним сетевым ресурсам закрыт настройками Wifi-роутера. Чтобы дистанционно подключаться к домашним сетевым ресурсам, необходимо настроить переадресацию (или перенаправление) портов в админке вашего Wifi-роутера. В настройках укажите, что 80 и 8080 порты должны быть перенаправлены на соответствующие порты IP-адреса вашего Home Assistant.

Некоторые провайдеры блокируют широкоиспользуемые порты, например 80 и 8080. В этом случае вам достаточно изменить порт 80 на 8123, например.

4. Закрыть доступ паролем

Поскольку теперь любой желающий сможет подключиться к вашему Home Assistant, необходимо закрыть доступ паролем, настроив /config/configuation.yaml следующим образом:

http:
  api_password: YOUR_PASSWORD

VPN

В особенно сложных случаях вам поможет организация VPN. Например, некоторые сотовые провайдеры блокируют вообще все входящие подключения к абоненту. Это может стать серьезной проблемой для организации "умной дачи".

Обойти такую блокировку поможет технология частных сетей (Virtual Private Network). Идея в следующем - контроллер умного дома подключается к VPN, телефон подключается к VPN. Теперь они друг друга "видят" даже если входящие подключения блокируются оператором.

Вопрос в том: где взять VPN? Эту услугу можно купить, можно использовать бесплатный VPN-сервер, а лучше - поднять свой собственный. Итак, поехали.

1. Установка VPN-сервера

Вам потребуется Linux-сервер вне домашней сети (входящие подключения к которой блокируются сотовым оператором). Если у вас такого нет - то есть у нас, пишите. Установка OpenVPN на сервере делается в пару нажатий клавиш по этой замечательной инструкции.

Подключение к VPN для контроллера мы сделали при установке. Подключение для телефона сделаем, повторно запустив команду

bash openvpn-install.sh 

2. Установка VPN-клиентов

Файл для подключения (.ovpn) разместим на контроллере по пути /home/home-assistant/cutecare.ovpn и затем выполним команды:

apt-get -y update
apt-get -y install openvpn
cp /home/home-assistant/cutecare.ovpn /etc/openvpn/cutecare.conf
chmod 755 /etc/openvpn/cutecare.conf
systemctl enable openvpn

Этим самым мы прописали, что подключение к нашему VPN будет устанавливаться при старте контроллера.

Файл для подключения с телефона перекидываем на телефон. На телефоне устанавливаем бесплатное приложение OpenVPN и импортируем в него наш файл. Активируем подключение и открываем Home Assistant по ссылке http://10.8.0.2 - это новый постоянный адрес вашего контроллера, доступного через VPN-сеть даже у самых коварных провайдеров.

Надо ли говорить, что в случае использования VPN вам необязательно паролить доступ к Home Assistant. Правда в таком случае лучше не терять телефон.